Three-dimensional (3D) rendering is a process by which an image having a depth of field, referred to herein as a view, is generated from a data representation of a 3D object. For example, a 3D object may be represented by 3D shape data that describes the form of an outer surface of the 3D object, and texture data that describes characteristics of the outer surface of the 3D object. 3D rendering uses the 3D shape and the texture to generate a view of the 3D object. The view may be representative of a particular viewpoint of the 3D object, such as a plan or isometric view of the 3D object, and a particular lighting of the 3D object, such as a back-lit, side-lit, or ambient-lit view of the 3D object from the particular viewpoint.
3D rendering can be done by a variety of systems. One such system is a neural network. Neural networks are machine learning models that employ one or more layers to create an output, e.g., a classification, for a received input. Some neural networks include one or more hidden layers in addition to an output layer. The output of each hidden layer is provided as an input to a next layer in the neural network, i.e., a next hidden layer or an output layer of the neural network. Each layer of the neural network generates an output from a received input in accordance with current values of a respective set of parameters. Neural networks can undergo training to increase the accuracy of the neural network outputs.